//
//  HFStatusView.h
//  HFTV
//
//  Created by Mr.Zhang on 2017/5/23.
//  Copyright © 2017年 Mr.Zhang. All rights reserved.
//

#import <UIKit/UIKit.h>

typedef enum : NSUInteger {
    HFStatusType_LiveRoom,       //直播间 (如果有些类同时包含直播间非直播间那就传入非直播间的枚举值 系统会自动判断是否在直播间)
    HFStatusType_Success,        //成功
    HFStatusType_Failure,        //失败
} HFStatusType;

typedef void(^StatusFinishBlock)(void);

@interface HFStatusView : UIView

/**
 动画执行完回调Block
 */
@property(nonatomic,copy)StatusFinishBlock statusBlock;

/**
 显示提示弹窗
 
 @param title  弹窗内容
 @param type   弹窗类型
 @param hidden 是否隐藏状态栏
 @return 显示提示弹窗
 */
+(instancetype)showMessageWithTitle:(NSString *)title
                               type:(HFStatusType)type
                    statusBarHidden:(BOOL)hidden;

+(instancetype)showSuccessMessage:(NSString *)title;
+(instancetype)showFailureMessage:(NSString *)title;


/**
 显示提示弹窗有动画完成回调Block
 
 @param title 弹窗内容
 @param type 弹窗类型
 @param hidden 是否隐藏状态栏
 @param block 动画完成回调
 @return 显示提示弹窗
 */
+(instancetype)showMessageWithTitle:(NSString *)title
                               type:(HFStatusType)type
                    statusBarHidden:(BOOL)hidden
                        finishBlock:(StatusFinishBlock)block;


/**
 延迟显示提示弹窗有动画完成回调Block
 
 @param title 弹窗内容
 @param type 弹窗类型
 @param hidden 是否隐藏状态栏
 @param block 动画完成回调
 @return 显示提示弹窗
 */
+(instancetype)showMessageWithTitle:(NSString *)title
                               type:(HFStatusType)type
                    statusBarHidden:(BOOL)hidden
                         afterDelay:(NSTimeInterval)delay
                        finishBlock:(StatusFinishBlock)block;



/**
 隐藏所有弹窗
 */
+(void)dismissStatusView;

/**
 是否正在显示
 */
+(BOOL)isVisible;
@end

